using System;
using System.Data;
using System.ComponentModel;
using System.Reflection;
using System.Collections.Generic;

namespace VSSAHT.Transfer
{
	[Serializable]
	public class CustomerDTOBase : DTOBase
	{
		#region Property CustomerCode

		private string _customerCode;

		/// <summary>
		///  Property CustomerCode
		/// <summary>
		public string CustomerCode
		{
			get
			{
				return _customerCode;
			}

			set
			{
				if (_customerCode != value)
				{
					this.OnCustomerCodeChanging(value);
					_customerCode = value;
					this.OnCustomerCodeChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property CustomerID

		private Guid _customerID;

		/// <summary>
		///  Property CustomerID
		/// <summary>
		public Guid CustomerID
		{
			get
			{
				return _customerID;
			}

			set
			{
				if (_customerID != value)
				{
					this.OnCustomerIDChanging(value);
					_customerID = value;
					this.OnCustomerIDChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property CustomerName

		private string _customerName;

		/// <summary>
		///  Property CustomerName
		/// <summary>
		public string CustomerName
		{
			get
			{
				return _customerName;
			}

			set
			{
				if (_customerName != value)
				{
					this.OnCustomerNameChanging(value);
					_customerName = value;
					this.OnCustomerNameChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RowVersion

		private string _rowVersion;

		/// <summary>
		///  Property RowVersion
		/// <summary>
		public string RowVersion
		{
			get
			{
				return _rowVersion;
			}

			set
			{
				if (_rowVersion != value)
				{
					this.OnRowVersionChanging(value);
					_rowVersion = value;
					this.OnRowVersionChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Extensibility Method Declarations

		protected virtual void OnCustomerCodeChanging(string customerCode) { }
		protected virtual void OnCustomerCodeChanged() { }
		protected virtual void OnCustomerIDChanging(Guid customerID) { }
		protected virtual void OnCustomerIDChanged() { }
		protected virtual void OnCustomerNameChanging(string customerName) { }
		protected virtual void OnCustomerNameChanged() { }
		protected virtual void OnRowVersionChanging(string rowVersion) { }
		protected virtual void OnRowVersionChanged() { }

		#endregion

	}
}
